﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PlanillaDePagoStaff.aspx.cs" MasterPageFile="MasterPage.Master" Inherits="Web.Pages.PlanillaDePagoStaff" %>
<%@ Import Namespace="Common" %>
<%@ Import Namespace="Web.Helpers.Documents.Spreadsheets.Enums" %>

<asp:Content ID="mainContent" ContentPlaceHolderID="MainContent" runat="Server" >
    
    <link href="Styles/Planilla.css" rel="stylesheet" type="text/css" />

    <!--$(document).ready-->  
    <script type="text/javascript" >

        var _cantidadItemsCreados = 0;

        var controles = { General: {}, Planilla: { DatosEmpresa: {}, Programa: {}, PeriodoLiquidado: {}, Items: {}, Comentarios: {}, Total: {} } };
        /* General */
        controles.General.Proyecto                          = "<%= selPlanilla_Proyecto.ClientID %>";
        controles.General.Guion                             = "<%= selPlanilla_Guion.ClientID %>";
        controles.General.MedioPago                         = "<%= selPlanilla_MediosPago.ClientID %>";
        controles.General.TipoDocumento                     = "<%= selPlanilla_TipoDocumento.ClientID %>";
        controles.General.Usuario                           = "<%= selPlanilla_Usuario.ClientID %>";
        controles.General.TipoUsuario                       = "<%= selPlanilla_TipoUsuario.ClientID %>";
        controles.General.btnGenerarPlanilla                = "btnGenerarPlanilla";
        controles.General.ImagenEntidad                     = "imgEntidad";
        controles.General.hdnPayRollDirectory               = "<%= hdnPayRollDirectory.ClientID %>";

        /* Planilla */
        /* Planilla - Datos Empresa */
        controles.Planilla.DatosEmpresa.RazonSocial         = "<%= txtPlanilla_DatosEmpresa_RazonSocial %>";
        controles.Planilla.DatosEmpresa.Responsable         = "<%= txtPlanilla_DatosEmpresa_Responsable %>";
        controles.Planilla.DatosEmpresa.NroCuit             = "<%= txtPlanilla_DatosEmpresa_NroCuit %>";
        controles.Planilla.DatosEmpresa.DomicilioLegal      = "<%= txtPlanilla_DatosEmpresa_DomicilioLegal %>";
        controles.Planilla.DatosEmpresa.Contacto            = "<%= txtPlanilla_DatosEmpresa_Contacto %>";
        controles.Planilla.DatosEmpresa.IngresosBrutos      = "<%= txtPlanilla_DatosEmpresa_IngresosBrutos %>";
        controles.Planilla.DatosEmpresa.DomicilioReal       = "<%= txtPlanilla_DatosEmpresa_DomicilioReal %>";
        controles.Planilla.DatosEmpresa.ContactoTelefono    = "<%= txtPlanilla_DatosEmpresa_ContactoTelefono %>";
        controles.Planilla.DatosEmpresa.Telefono            = "<%= txtPlanilla_DatosEmpresa_Telefono %>";
        controles.Planilla.DatosEmpresa.ContactoMovil       = "<%= txtPlanilla_DatosEmpresa_ContactoMovil %>";
        controles.Planilla.DatosEmpresa.Email               = "<%= txtPlanilla_DatosEmpresa_Email %>";
        controles.Planilla.DatosEmpresa.ContactoEmail       = "<%= txtPlanilla_DatosEmpresa_ContactoEmail %>";
        /* Planilla - Programa */
        controles.Planilla.Programa.Titulo                  = "<%= txtPlanilla_Programa_Titulo.ClientID %>";
        controles.Planilla.Programa.Autor                   = "txtPlanilla_Programa_Autor";
        /* Planilla - Periodo Liquidado */
        controles.Planilla.PeriodoLiquidado.Desde           = "txtPlanilla_PeriodoLiquidado_FechaDesde";
        controles.Planilla.PeriodoLiquidado.Hasta           = "txtPlanilla_PeriodoLiquidado_FechaHasta";
        /* Planilla - Comentarios */
        controles.Planilla.Comentarios.Detalles             = "txtPlanilla_Comentarios_DetallesOtros";
        controles.Planilla.Comentarios.Observaciones        = "txtPlanilla_Comentarios_Observaciones";
        /* Planilla - Total */
        controles.Planilla.Total.GeneralRemuneraciones      = "txtPlanilla_Total_GeneralRemuneraciones";
        controles.Planilla.Total.ContribucionOSA            = "txtPlanilla_Total_ContribucionOSA";
        controles.Planilla.Total.Deposito                   = "txtPlanilla_Total_Deposito";
        controles.Planilla.Total.ContribucionSindicato      = "txtPlanilla_Total_ContribucionSindicato";
        controles.Planilla.Total.Neto                       = "txtPlanilla_Total_Neto";
        /* Planilla - Items */
        controles.Planilla.Items = 
        {
            IdTabla : "tblPlanilla_Items",
            IdFila : "filaPlanilla_Item_{0}",
            btnAgregar: "btnPlanilla_AgregarItem",
            btnEliminar: "btnPlanilla_Item_Eliminar_{0}",
            Guion:
            {
                Capitulo: "txtPlanilla_Item_Capitulo_{0}"
            },
            Proveedor:
            {
                NroDocumento: "txtPlanilla_Item_NroDocumento_{0}",
                TipoDocumento: { Select: "selPlanilla_Item_TipoDocumento_{0}", Id: "hdnPlanilla_Item_TipoDocumento_{0}", Label: "btnPlanilla_Item_TipoDocumento_{0}" },
                Proveedor: { Select: "selPlanilla_Item_Proveedor_{0}", Id: "hdnPlanilla_Item_Proveedor_{0}", Label: "btnPlanilla_Item_Proveedor_{0}" },
                FechaGrabacion: "txtPlanilla_Item_FechaGrabacion_{0}",
                Categoria: { Select: "selPlanilla_Item_Categoria_{0}", Id: "hdnPlanilla_Item_Categoria_{0}", Label: "btnPlanilla_Item_Categoria_{0}" }
            },
            Importes:
            {
                //Capitulo: "txtPlanilla_Item_Capitulo_{0}",
                Contrato: "txtPlanilla_Item_Contrato_{0}"
            }
        };

        $(document).ready(function()
        {
            procesarParametros();
            cargarPagina_PlanillaDePago();
        });
        function procesarParametros()
        {
            Framework.Page.Parameters.parseQueryString();            
        }
        function cargarPagina_PlanillaDePago()
        {
            Site.Messages.showLoadingMessage();

            Site.Page.setTitle("Planilla de Pago - Staff");

            crearPlaceHolders();

            var width = 290;
            var height = 90;
            var imgLogo = $("#" + controles.General.ImagenEntidad);
                imgLogo.width(width).height(height);
            imgLogo.parent().css("min-width", imgLogo.outerWidth());

            $("#" + controles.Planilla.Items.btnAgregar).click(function()
            {
                var idFila = crearFilaPlanillaItem(null, null);
                mostrarNotificacion(_notifications.info, "Se agregó un nuevo ítem", false);
                Framework.Effects.scrollTo($("#" + controles.Planilla.Items.IdFila.format(idFila)), null, 1000);
            });

            $("#" + controles.General.btnGenerarPlanilla).click(function () { generarPlanillaDePago(); });

            Helpers.MultiSelectHelper.configure("#" + controles.General.Proyecto, false);
            Helpers.MultiSelectHelper.configure("#" + controles.General.MedioPago, false);
            Helpers.MultiSelectHelper.bindOnChange("#" + controles.General.Proyecto, onProyecto_Change);
            Helpers.MultiSelectHelper.bindOnChange("#" + controles.General.MedioPago, onMedioPago_Change);
            configurarListaGuion();

            $("#{0}, #{1}".format(controles.Planilla.PeriodoLiquidado.Desde, controles.Planilla.PeriodoLiquidado.Hasta)).datepicker();

            habilitarControles();

            allowOnlyNumbers( $("#" + controles.Planilla.DatosEmpresa.NroCuit) );

            var idsPagos = Framework.Page.Parameters.idsPagos;
            if ( idsPagos != null )
                procesarFilasPagos();

            actualizarTotales();

            Site.Messages.hideLoadingMessage();
        }
        // TODO => hay que sacar esta función (hacerla server-side) !!
        function cargarParametros( parametroInfo )
        {
            $("#" + controles.Planilla.DatosEmpresa.RazonSocial).val( parametroInfo.RazonSocial );
            $("#" + controles.Planilla.DatosEmpresa.Responsable).val( parametroInfo.Responsable );
            $("#" + controles.Planilla.DatosEmpresa.NroCuit).val( parametroInfo.NroCuit);
            $("#" + controles.Planilla.DatosEmpresa.DomicilioLegal).val( parametroInfo.DomicilioLegal );
            $("#" + controles.Planilla.DatosEmpresa.Contacto).val( parametroInfo.Contacto );
            $("#" + controles.Planilla.DatosEmpresa.IngresosBrutos).val( parametroInfo.IngresosBrutos );
            $("#" + controles.Planilla.DatosEmpresa.DomicilioReal).val( parametroInfo.DomicilioReal );
            $("#" + controles.Planilla.DatosEmpresa.ContactoTelefono).val( parametroInfo.TelefonoContacto );
            $("#" + controles.Planilla.DatosEmpresa.Telefono).val( parametroInfo.Telefono );
            //$("#" + controles.Planilla.DatosEmpresa.Fax").val( parametroInfo.Fax );
            $("#" + controles.Planilla.DatosEmpresa.ContactoMovil).val(parametroInfo.CelularContacto);
            $("#" + controles.Planilla.DatosEmpresa.Email).val( parametroInfo.EmailEmpresa );
            $("#" + controles.Planilla.DatosEmpresa.ContactoEmail).val( parametroInfo.EmailContacto );
        }
        function crearPlaceHolders()
        {
            addPlaceHolder(controles.Planilla.Programa.Titulo, "<< TÍTULO >>");
            addPlaceHolder(controles.Planilla.Programa.Autor, "<< AUTOR >>");
            addPlaceHolder(controles.Planilla.PeriodoLiquidado.Desde, "<< FECHA DESDE >>");
            addPlaceHolder(controles.Planilla.PeriodoLiquidado.Hasta, "<< FECHA HASTA >>");
            addPlaceHolder(controles.Planilla.Comentarios.Detalles, "<< DETALLES >>");
            addPlaceHolder(controles.Planilla.Comentarios.Observaciones, "<< OBSERVACIONES >>");
        }
        function onProyecto_Change(seleccionado, valor, texto)
        {
            if ( seleccionado == true )
            {
                limpiarDatosPlanilla();
                limpiarDatosPlanillaItems();

                $("#" + controles.Planilla.Programa.Titulo).val(texto);

                Helpers.SelectListHelper.removeAllOptions( controles.General.Guion );

                var idProyecto = valor;
                obtenerGuionesPendientesDePago(idProyecto);
            }
        }
        function onMedioPago_Change(seleccionado, valor, texto)
        {
            //var imgLogo = $("#" + controles.General.ImagenEntidad);
            //if ( seleccionado == true && valor == _MediosPago.ACTORES.Id )
            //    imgLogo.fadeIn();
            //else
            //    imgLogo.fadeOut();

            actualizarTotales();
        }
        function configurarListaGuion()
        {
            Helpers.MultiSelectHelper.configure("#" + controles.General.Guion, true);
            Helpers.MultiSelectHelper.bindOnChange("#" + controles.General.Guion, onGuion_Change);
            $("#" + controles.General.Guion).multiselect
            ({
                checkAll: function ()
                {
                    var idsGuiones = Helpers.MultiSelectHelper.getSelected($(this).attr("id"));
                    Helpers.MultiSelectHelper.close(controles.General.Guion);
                    obtenerPagosGuiones(idsGuiones);
                },
                uncheckAll: function ()
                {
                    limpiarDatosPlanillaItems();
                },
            });
        }
        function onGuion_Change(seleccionado, valor, texto)
        {
            var idGuion = valor;
            if ( seleccionado == true )
            {
                Helpers.MultiSelectHelper.close(controles.General.Guion);
                obtenerPagosGuiones( [ idGuion ] );
            }
            else
            {
                limpiarDatosPlanillaItems( idGuion );
            }
        }
        function procesarFilasPagos()
        {
            var filas = obtenerFilasPlanillaItems();
            for (var id = 0; id < filas.length; id++)
            {
                activarControlesFilaPlanillaItem(id);
            }

            _cantidadItemsCreados = filas.length;

            determinarPeriodoLiquidado();

            actualizarTotales();
        }
        function onClick_PlanillaItem(item, id)
        {
            var label = $("#" + item.Label.format(id));
                label.click(function()
                {
                    generarMultiSelect( $(this), item );
                });            
        }
        function generarMultiSelect(ctrl, item)
        {
            var id = ctrl.attr("id").replace(item.Label.replace("{0}", ""), "");

            var idSelect = item.Select.format(id);
            var idLabel  = item.Label.format(id);
            var idHidden = item.Id.format(id);

            $("#" + idSelect).attr("multiselect-created", true);

            $("#" + idLabel).remove();
            Helpers.MultiSelectHelper.configure("#" + idSelect, false, false, { "width": "99%" } );

            var itemValueId = $("#" + idHidden).val();
            if ( itemValueId != Constants.Entities.DefaultId )
                Helpers.MultiSelectHelper.setSelected(idSelect, [itemValueId], true);

            onClick_ItemPlanilla(item, id);

            Helpers.MultiSelectHelper.open(idSelect);
        }
        function onClick_ItemPlanilla(item, id)
        {
            var onChange = overloadFunction(onItemPlanilla_Change, item, id);
            Helpers.MultiSelectHelper.bindOnChange("#" + item.Select.format(id), onChange);
        }
        function onItemPlanilla_Change(item, id, seleccionado, valor, texto)
        {
            $("#" + item.Id.format(id)).val( valor );
        }
        function habilitarControles()
        {
            habilitarControl("#" + controles.Planilla.Total.GeneralRemuneraciones, false);
            habilitarControl("#" + controles.Planilla.Total.ContribucionOSA, false);
            habilitarControl("#" + controles.Planilla.Total.Deposito, false);
            habilitarControl("#" + controles.Planilla.Total.ContribucionSindicato, false);
            habilitarControl("#" + controles.Planilla.Total.Neto, false);
        }
        function obtenerGuionesPendientesDePago(idProyecto)
        {
            Site.Messages.showLoadingMessage();
            var parametros = { idProyecto: idProyecto }
            Helpers.AJAXHelper.invoke("obtenerGuionesPendientesDePago", JSON.stringify(parametros), obtenerGuionesPendientesDePago_Respuesta, null);
        }
        function obtenerGuionesPendientesDePago_Respuesta(datos)
        {
            Site.Messages.hideLoadingMessage();
            var respuestaInfo = jQuery.parseJSON(datos.d);
            if (respuestaInfo.Resultado)
            {
                var guionesInfo = respuestaInfo.Valor;
                var options = Helpers.SelectListHelper.formatForSelectList(guionesInfo, "Id", "Texto");
                Helpers.SelectListHelper.fillSelectList(controles.General.Guion, options, null, true);
                configurarListaGuion();
            }
            else
            {
                mostrarNotificacion(_notifications.error, respuestaInfo.Mensaje, true);
            }
        }
        function obtenerPagosGuiones( idsGuiones )
        {
            Site.Messages.showLoadingMessage();
            var parametros = { idsGuiones: idsGuiones };
            Helpers.AJAXHelper.invoke("obtenerPagosDeGuiones", JSON.stringify(parametros), obtenerPagosGuiones_Respuesta, null);
        }
        function obtenerPagosGuiones_Respuesta(datos)
        {
            Site.Messages.hideLoadingMessage();

            //limpiarDatosPlanilla();

            var respuestaInfo = jQuery.parseJSON(datos.d);
            if (respuestaInfo.Resultado)
            {
                var pagosInfo = respuestaInfo.Valor;
                //cargarDatosPlanilla( pagosInfo );
                cargarDatosPlanillaItems( pagosInfo );
            }
            else
            {
                mostrarNotificacion( _notifications.error, respuestaInfo.Mensaje, true );
            }
        }
        //function cargarDatosPlanilla(pagosInfo)
        //{
        //    $("#" + controles.Planilla.Programa.Titulo).val( pagosInfo.GuionTitulo );
        //}
        function cargarDatosPlanillaItems(pagosInfo)
        {
            for(var i=0; i < pagosInfo.length; i++)
            {
                var item = pagosInfo[i];

                var idFila = crearFilaPlanillaItem(item.IdGuion, item.Id);

                onClick_PlanillaItem(controles.Planilla.Items.Proveedor.TipoDocumento, idFila);
                onClick_PlanillaItem(controles.Planilla.Items.Proveedor.Proveedor, idFila);
                onClick_PlanillaItem(controles.Planilla.Items.Proveedor.Categoria, idFila);

                //Tipo Doc.
                //Helpers.MultiSelectHelper.setSelected(controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila), [ _TiposDocumento.DNI.Id ], true);
                var tipoDocumento = Helpers.SelectListHelper.findOptionByValue(controles.General.TipoDocumento, item.IdProveedorTipoDocumento);
                establecerPropiedadItem(controles.Planilla.Items.Proveedor.TipoDocumento, idFila, item.IdProveedorTipoDocumento, $(tipoDocumento).text());
                
                //Nro. Doc.
                $("#" + controles.Planilla.Items.Proveedor.NroDocumento.format(idFila)).val(item.ProveedorNroDocumento);

                //Nombre Artístico
                //Helpers.MultiSelectHelper.setSelected(controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila), [item.IdProveedor], true);
                var proveedor = Helpers.SelectListHelper.findOptionByValue(controles.General.Usuario, item.IdProveedor);
                establecerPropiedadItem(controles.Planilla.Items.Proveedor.Proveedor, idFila, item.IdProveedor, $(proveedor).text());

                //Fecha de Grabación
                if ( item.Fecha != null )
                    $("#" + controles.Planilla.Items.Proveedor.FechaGrabacion.format(idFila)).datepicker("setDate", DateTimeHelper.ConvertToDate(item.Fecha));
                
                //Capítulo
                $("#" + controles.Planilla.Items.Guion.Capitulo.format(idFila)).val(item.GuionEpisodio);
                
                //Contrato
                $("#" + controles.Planilla.Items.Importes.Contrato.format(idFila)).val( Helpers.NumericHelper.Formatting.format(item.ImporteTotal) );

                //Categoría
                //Helpers.MultiSelectHelper.setSelected(controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila), [ _TiposDocumento.DNI.Id ], true);
                var categoria = Helpers.SelectListHelper.findOptionByValue(controles.General.TipoUsuario, item.IdProveedorRol);
                establecerPropiedadItem(controles.Planilla.Items.Proveedor.Categoria, idFila, item.IdProveedorRol, $(categoria).text());

                //ajustarDimensionesControles(idFila);
            }

            determinarPeriodoLiquidado();

            actualizarTotales();
        }
        function ajustarDimensionesControles(idFila)
        {
            Helpers.MultiSelectHelper.setWidth("#" + controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila), 99, true);
            Helpers.MultiSelectHelper.setWidth("#" + controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila), 99, true);
        }
        function limpiarDatosPlanilla()
        {
            $("#" + controles.Planilla.Programa.Titulo).val("");
            $("#" + controles.Planilla.PeriodoLiquidado.Desde).val("");
            $("#" + controles.Planilla.PeriodoLiquidado.Hasta).val("");
        }
        function limpiarDatosPlanillaItems(idGuion)
        {
            eliminarFilasPlanillaItem(idGuion);
            determinarPeriodoLiquidado();
        }
        function obtenerFilasPlanillaItems() {
            return $("#" + controles.Planilla.Items.IdTabla).find("tbody>tr");            
        }
        function determinarPeriodoLiquidado()            
        {
            var controlesFecha = $(".Fecha ");

            if (controlesFecha.length == 0)
                return;

            var fechaInicio = Helpers.DateTimeHelper.ConvertToDate( $(controlesFecha[0]).val(), 3, 2, 1, '/' );
            var fechaFin    = Helpers.DateTimeHelper.ConvertToDate( $(controlesFecha[0]).val(), 3, 2, 1, '/' );
            var fechaActual = null;
            for (var i = 0; i < controlesFecha.length; i++)
            {
                fechaActual = Helpers.DateTimeHelper.ConvertToDate( $(controlesFecha[i]).val(), 3, 2, 1, '/' );
                
                if ( fechaActual < fechaInicio )
                    fechaInicio = fechaActual;

                if ( fechaActual > fechaFin )
                    fechaFin = fechaActual;
            }

            var fechaDesde = Helpers.DateTimeHelper.CreateDateFromDate(fechaInicio);
            var fechaHasta = Helpers.DateTimeHelper.CreateDateFromDate(fechaFin);
            //Helpers.DateTimeHelper.AddUnits(fechaHasta, Helpers.DateTimeHelper.DateUnits.Day, 45);

            $("#" + controles.Planilla.PeriodoLiquidado.Desde).datepicker("setDate", fechaDesde);
            $("#" + controles.Planilla.PeriodoLiquidado.Hasta).datepicker("setDate", fechaHasta);
        }
    </script>

    <!-- Detalle -->
    <script type="text/javascript" >
        function actualizarTotales()
        {
            var totalRemuneraciones         = 0;
            var totalDeposito               = 0;
            var totalNeto                   = 0;

            var filas = obtenerFilasPlanillaItems();
            for(var i=0; i < filas.length; i++)
            {
                var id = obtenerIdFila(filas[i]);
                var remuneracion     = Helpers.NumericHelper.Conversion.toNumber( $("#" + controles.Planilla.Items.Importes.Contrato.format(id)).val() );
                totalRemuneraciones += remuneracion;
            }

            $("#" + controles.Planilla.Total.GeneralRemuneraciones).val( Helpers.NumericHelper.Formatting.formatCurrency(totalRemuneraciones) );
                        
            totalDeposito = totalRemuneraciones;
            $("#" + controles.Planilla.Total.Deposito).val( Helpers.NumericHelper.Formatting.formatCurrency(totalDeposito) );

            totalNeto = totalRemuneraciones;
            $("#" + controles.Planilla.Total.Neto).val( Helpers.NumericHelper.Formatting.formatCurrency(totalNeto) );
        }
        function eliminarFilaPlanillaItem(id)
        {
            var fila = $("#" + controles.Planilla.Items.IdFila.format(id));
                fila.remove();

            actualizarTotales();

            mostrarNotificacion(_notifications.info, "Se eliminó un ítem", false);
        }
        function eliminarFilasPlanillaItem(idGuion)
        {
            var filas = getTableRows(controles.Planilla.Items.IdTabla, !isEmpty(idGuion) ? 'idGuion="' + idGuion + '"' : '');
                filas.remove("");

            actualizarTotales();
        }
        function obtenerIdFila(fila)
        {
            return fila.id.replace(controles.Planilla.Items.IdFila.format(""), "");
        }
        function crearFilaPlanillaItem(idGuion, idPago)
        {
            if ( isEmpty(idGuion) )
                idGuion = Constants.Entities.DefaultId;

            if ( isEmpty(idPago) )
                idPago = Constants.Entities.DefaultId;

            var idFila = _cantidadItemsCreados;

            //var td1 = Helpers.Helpers.HtmlHelper.Table.addCell('<div id="btnPlanilla_Item_Eliminar_' + id + '" class="botonAccion btnPlanilla_Item_Eliminar" style="width:70px;" ><img src="Images/16x16/remover.png" alt="Eliminar ítem" /><label>Eliminar</label></div>');
            //var td2 = Helpers.Helpers.HtmlHelper.Table.addCell('<select id="selPlanilla_Item_TipoDocumento_' + id + '" multiple="multiple" ></select>', null, null, [ "align='center'" ] );

            var fila  = '';
                fila += '<td align="center"><div id="' + controles.Planilla.Items.btnEliminar.format(idFila) + '" class="botonAccion btnPlanilla_Item_Eliminar" style="width:70px;" ><img src="Images/16x16/remover.png" alt="Eliminar ítem" /><label>Eliminar</label></div></td>';
                fila += '<td align="center">';
                fila += '   <button id="' + controles.Planilla.Items.Proveedor.TipoDocumento.Label.format(idFila) + '" type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;" ><span class="ui-icon ui-icon-triangle-2-n-s"></span><span>Seleccione..</span></button>';
                fila += '   <select id="' + controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila) + '" multiple="multiple" multiselect-created="false" ></select>';
                fila += '   <input  id="' + controles.Planilla.Items.Proveedor.TipoDocumento.Id.format(idFila) + '" type="hidden" value="" />';
                fila += '</td>';
                fila += '<td><input id="' + controles.Planilla.Items.Proveedor.NroDocumento.format(idFila) + '" type="text" value="" class="txtValor" /></td>';
                fila += '<td align="center">';
                fila += '   <button id="' + controles.Planilla.Items.Proveedor.Proveedor.Label.format(idFila) + '" type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;" ><span class="ui-icon ui-icon-triangle-2-n-s"></span><span>Seleccione..</span></button>';
                fila += '   <select id="' + controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila) + '" multiple="multiple" multiselect-created="false" ></select>';
                fila += '   <input  id="' + controles.Planilla.Items.Proveedor.Proveedor.Id.format(idFila) + '" type="hidden" value="" />';
                fila += '</td>';
                fila += '<td><input id="' + controles.Planilla.Items.Proveedor.FechaGrabacion.format(idFila).format(idFila) + '" type="text" value="" class="txtValor Fecha" /></td>';
                fila += '<td><input id="' + controles.Planilla.Items.Guion.Capitulo.format(idFila) + '" type="text" value="" class="txtValor" /></td>';
                fila += '<td><input id="' + controles.Planilla.Items.Importes.Contrato.format(idFila) + '" type="text" value="0" class="txtValor" ></td>';
                fila += '<td align="center">';
                fila += '   <button id="' + controles.Planilla.Items.Proveedor.Categoria.Label.format(idFila) + '" type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;" ><span class="ui-icon ui-icon-triangle-2-n-s"></span><span>Seleccione..</span><span></span></button>';
                fila += '   <select id="' + controles.Planilla.Items.Proveedor.Categoria.Select.format(idFila) + '" multiple="multiple" multiselect-created="false" ></select>';
                fila += '   <input  id="' + controles.Planilla.Items.Proveedor.Categoria.Id.format(idFila) + '" type="hidden" value="" />';
                fila += '</td>';
                fila  = '<tr id="' + controles.Planilla.Items.IdFila.format(idFila) + '" idGuion="' + idGuion + '" idPago="' + idPago + '" class="filaPlanilla_Item" >' + fila + '</tr>';

            $("#" + controles.Planilla.Items.IdTabla).append( fila );

            activarControlesFilaPlanillaItem(idFila);

            _cantidadItemsCreados++;

            return idFila;
        }
        function activarControlesFilaPlanillaItem(idFila)
        {
            $("#" + controles.Planilla.Items.btnEliminar.format(idFila) ).click( function() { eliminarFilaPlanillaItem(idFila); } );

            Helpers.SelectListHelper.copyItems(controles.General.TipoDocumento, controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila));
            Helpers.SelectListHelper.copyItems(controles.General.Usuario, controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila));
            onClick_PlanillaItem(controles.Planilla.Items.Proveedor.TipoDocumento, idFila);
            onClick_PlanillaItem(controles.Planilla.Items.Proveedor.Proveedor, idFila);

            $("#" + controles.Planilla.Items.Proveedor.FechaGrabacion.format(idFila)).datepicker
            ({
                onSelect: function(dateText)
                {
                    //Selected date: dateText
                    //input's current value: this.value
                    determinarPeriodoLiquidado();
                }
            });

            var controlesImportes = getObjectKeys( controles.Planilla.Items.Importes );
            for (var i = 0; i < controlesImportes.length; i++)
            {
                var control = $("#" + controles.Planilla.Items.Importes[controlesImportes[i]].format(idFila) );
                    control.val( Helpers.NumericHelper.Formatting.format( control.val() ) );
                    control.blur(function ()
                    {
                        $(this).val(Helpers.NumericHelper.Formatting.format($(this).val()));
                        actualizarTotales();
                    });                
                allowOnlyNumbers( control, true );
            }

            allowOnlyNumbers( $("#" + controles.Planilla.Items.Proveedor.NroDocumento.format(idFila)) );
            allowOnlyNumbers( $("#" + controles.Planilla.Items.Guion.Capitulo.format(idFila)) );

            //Categoría
            Helpers.SelectListHelper.copyItems(controles.General.TipoUsuario, controles.Planilla.Items.Proveedor.Categoria.Select.format(idFila));
            onClick_PlanillaItem(controles.Planilla.Items.Proveedor.Categoria, idFila);

            addPlaceHolder(controles.Planilla.Items.Guion.Capitulo.format(idFila), "CAP.");
            addPlaceHolder(controles.Planilla.Items.Proveedor.NroDocumento.format(idFila), "NRO. DOC.");
            addPlaceHolder(controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila), "TIPO DOC.");
            addPlaceHolder(controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila), "PROVEEDOR");
            addPlaceHolder(controles.Planilla.Items.Proveedor.FechaGrabacion.format(idFila), "FECHA");
            addPlaceHolder(controles.Planilla.Items.Importes.Contrato.format(idFila), "CONTR.");
            addPlaceHolder(controles.Planilla.Items.Proveedor.Categoria.Select.format(idFila) , "CATEGORÍA");
        }
    </script>

    <!-- Vista Previa -->
    <script type="text/javascript" >
        function generarPlanillaDePago()
        {
            var planillaPago =
            {
                infoPlanilla: obtenerObjetoPlanilla(),
                infoPlanillaItems: obtenerObjetoPlanillaItems()
            }

            if ( !validarGenerarPlanillaDePago(planillaPago) )
                return;

            Site.Messages.showLoadingMessage();
            Helpers.AJAXHelper.invoke("generarPlanilla", planillaPago, generarPlanillaDePagoStaff_Respuesta, null);
        }
        function validarGenerarPlanillaDePago(planillaPago)
        {
            var errores = [];

            validarDatosPlanilla_General(planillaPago.infoPlanilla, errores);
            validarDatosPlanilla_Programa(planillaPago.infoPlanilla, errores);
            validarDatosPlanilla_PeriodoLiquidado(planillaPago.infoPlanilla, errores);
            validarDatosPlanilla_Items(planillaPago.infoPlanillaItems, errores);

            if (errores.length > 0)
            {
                Framework.Effects.scrollTo(errores[0], null, 1000);
                return false;
            }
            else
            {
                return true;
            }
        }
        function validarDatosPlanilla_General(infoPlanilla, errores)
        {
            if ( infoPlanilla.IdMedioPago == Constants.Entities.DefaultId )
                registrarError($("#" + controles.General.MedioPago).next(), errores);
        }
        function validarDatosPlanilla_Programa(infoPlanilla, errores)
        {
            if (infoPlanilla.Titulo.length == 0)
                registrarError($("#" + controles.Planilla.Programa.Titulo), errores);
            if (infoPlanilla.Autor.length == 0)
                registrarError($("#" + controles.Planilla.Programa.Autor), errores);
        }
        function validarDatosPlanilla_PeriodoLiquidado(infoPlanilla, errores)
        {
            if (infoPlanilla.PeriodoDesde == null)
                registrarError($("#" + controles.Planilla.PeriodoLiquidado.Desde), errores);
            if (infoPlanilla.PeriodoHasta == null)
                registrarError($("#" + controles.Planilla.PeriodoLiquidado.Hasta), errores);
        }
        function validarDatosPlanilla_Items(infoPlanillaItems, errores)
        {
            for (var i = 0; i < infoPlanillaItems.length; i++)
            {
                var item    = infoPlanillaItems[i];
                var idFila  = item.IdFila;

                if (item.Capitulo.length == 0)
                    registrarError($("#" + controles.Planilla.Items.Guion.Capitulo.format(idFila)), errores);
                if (item.NroDocumento.length == 0)
                  registrarError($("#" + controles.Planilla.Items.Proveedor.NroDocumento.format(idFila)), errores);
                if (item.IdTipoDocumento == Constants.Entities.DefaultId)
                    registrarError($("#" + controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(idFila)).next(), errores);
                if (item.IdProveedor == Constants.Entities.DefaultId)
                    registrarError($("#" + controles.Planilla.Items.Proveedor.Proveedor.Select.format(idFila)).next(), errores);
                if (item.FechaGrabacion == null)
                    registrarError($("#" + controles.Planilla.Items.Proveedor.FechaGrabacion.format(idFila)), errores);
                if (item.Contrato.length == 0)
                    registrarError($("#" + controles.Planilla.Items.Importes.Contrato.format(idFila)), errores);
                if (item.IdProveedorTipo == Constants.Entities.DefaultId)
                    registrarError($("#" + controles.Planilla.Items.Proveedor.Categoria.format(idFila)).next(), errores);
            }
        }
        function generarPlanillaDePagoStaff_Respuesta(datos)
        {
            Site.Messages.hideLoadingMessage();
            var respuestaInfo = jQuery.parseJSON(datos.d);
            if ( respuestaInfo.Resultado )
            {
                mostrarDescargaPlanilla(respuestaInfo.Valor, respuestaInfo.Mensaje);
            }
            else
            {
                mostrarNotificacion( _notifications.error, respuestaInfo.Mensaje, true );
            }
        }
        function mostrarDescargaPlanilla(filename, message)
        {
            var directory = $("#" + controles.General.hdnPayRollDirectory).val();
            //var href = directory + filename;

            var linkDescarga = "<a href='" + filename + "' target='_blank' style='color:greenyellow; font-size:12px;' >Descargar</a>";
            var linkRepositorio = "<a href='" + directory + "' target='_blank' style='color:greenyellow; font-size:12px' >Ir a repositorio</a>";
            var mensaje = "<div>{0}</div><div><span>{1} | {2}</span></div>".format(message, linkDescarga, linkRepositorio);
            //var mensaje = "<div>{0}</div><div><span>{1}</span></div>".format(message, linkDescarga);
            mostrarNotificacion( _notifications.success, mensaje, true );

            var btnGenerarPlanilla = $("#" + controles.General.btnGenerarPlanilla);
                btnGenerarPlanilla.css("opacity", "0.5");
                btnGenerarPlanilla.off('click');            
        }
        function obtenerObjetoPlanilla()
        {
            var infoPlanilla =
            {
                TipoPlanilla               : '<%= TiposPlanilla.Staff %>',
                IdMedioPago                : Helpers.MultiSelectHelper.getFirstSelectedValue(controles.General.MedioPago),
                MedioPago                  : Helpers.MultiSelectHelper.getFirstSelectedText(controles.General.MedioPago),
                //Empresa
                Contacto                   : $("#" + controles.Planilla.DatosEmpresa.Contacto).val(),
                ContactoCelular            : $("#" + controles.Planilla.DatosEmpresa.ContactoMovil).val(),
                ContactoEmail              : $("#" + controles.Planilla.DatosEmpresa.ContactoEmail).val(),
                ContactoTelefono           : $("#" + controles.Planilla.DatosEmpresa.ContactoTelefono).val(),
                DomicilioLegal             : $("#" + controles.Planilla.DatosEmpresa.DomicilioLegal).val(),
                DomicilioReal              : $("#" + controles.Planilla.DatosEmpresa.DomicilioReal).val(),
                Email                      : $("#" + controles.Planilla.DatosEmpresa.Email).val(),
                IngresosBrutos             : $("#" + controles.Planilla.DatosEmpresa.IngresosBrutos).val(),
                NroCuit                    : $("#" + controles.Planilla.DatosEmpresa.NroCuit).val(),
                RazonSocial                : $("#" + controles.Planilla.DatosEmpresa.RazonSocial).val(),
                Responsable                : $("#" + controles.Planilla.DatosEmpresa.Responsable).val(),
                Telefono                   : $("#" + controles.Planilla.DatosEmpresa.Telefono).val(),
                //Programa
                Titulo                     : $("#" + controles.Planilla.Programa.Titulo).val(),
                Episodio                   : 1,
                Autor                      : $("#" + controles.Planilla.Programa.Autor).val(),
                PeriodoDesde               : $("#" + controles.Planilla.PeriodoLiquidado.Desde).datepicker("getDate"),
                PeriodoHasta               : $("#" + controles.Planilla.PeriodoLiquidado.Hasta).datepicker("getDate"),
                //Comentarios
                DetallesOtros              : $("#" + controles.Planilla.Comentarios.Detalles).val(),
                Observaciones              : $("#" + controles.Planilla.Comentarios.Observaciones).val(),
                //Totales
                TotalGeneralRemuneraciones : Helpers.NumericHelper.Conversion.toNumber($("#" + controles.Planilla.Total.GeneralRemuneraciones).val()),
                TotalContribucionOSA       : Helpers.NumericHelper.Conversion.toNumber($("#" + controles.Planilla.Total.ContribucionOSA).val()),
                TotalDeposito              : Helpers.NumericHelper.Conversion.toNumber($("#" + controles.Planilla.Total.Deposito).val()),
                TotalContribucionSindicato : Helpers.NumericHelper.Conversion.toNumber($("#" + controles.Planilla.Total.ContribucionSindicato).val()),
                TotalNeto                  : Helpers.NumericHelper.Conversion.toNumber($("#" + controles.Planilla.Total.Neto).val()),
            };
            return infoPlanilla;
        }
        function obtenerObjetoPlanillaItems()
        {
            var planillaPagoItems = [];
            var filas = $("#" + controles.Planilla.Items.IdTabla).find("tbody > tr");
            for(var i=0; i < filas.length; i++)
            {
                var id = obtenerIdFila(filas[i]);
                var item =
                {
                    IdFila          : id,
                    IdPago          : $(filas[i]).attr("idPago"),
                    IdProveedor     : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.Proveedor, id, "valor"),//Helpers.MultiSelectHelper.getFirstSelectedValue(controles.Planilla.Items.Proveedor.Proveedor.Select.format(id)),
                    Proveedor       : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.Proveedor, id, "texto"),//Helpers.MultiSelectHelper.getFirstSelectedText(controles.Planilla.Items.Proveedor.Proveedor.Select.format(id)),
                    IdTipoDocumento : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.TipoDocumento, id, "valor"),//Helpers.MultiSelectHelper.getFirstSelectedValue(controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(id)),
                    TipoDocumento   : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.TipoDocumento, id, "texto"),//Helpers.MultiSelectHelper.getFirstSelectedText(controles.Planilla.Items.Proveedor.TipoDocumento.Select.format(id)),
                    NroDocumento    : $("#"  + controles.Planilla.Items.Proveedor.NroDocumento.format(id)).val(),
                    FechaGrabacion  : $("#" + controles.Planilla.Items.Proveedor.FechaGrabacion.format(id)).datepicker("getDate"),
                    Contrato        : Helpers.NumericHelper.Conversion.toNumber( $("#" + controles.Planilla.Items.Importes.Contrato.format(id)).val() ),
                    Capitulo        : $("#" + controles.Planilla.Items.Guion.Capitulo.format(id)).val(),
                    IdProveedorTipo : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.Categoria, id, "valor"),
                    ProveedorTipo   : obtenerPropiedadItem(controles.Planilla.Items.Proveedor.Categoria, id, "texto")
                };
                planillaPagoItems.push( item );
            }
            return planillaPagoItems;
        }
        function establecerPropiedadItem(item, id, valor, texto)
        {
            var idSelect = item.Select.format(id);
            var isMultiSelectCreated = $("#" + idSelect).attr("multiselect-created");
            if (isMultiSelectCreated == "true")
            {
                Helpers.MultiSelectHelper.setSelected(item.Select.format(id), [valor], true);
            }
            else
            {
                $("#" + item.Id.format(id)).val(valor);
                $($("#" + item.Label.format(id)).children()[1]).html(texto);
            }
        }
        function obtenerPropiedadItem(item, id, propiedad)
        {
            var valor = "";
            var idSelect = item.Select.format(id);
            var isMultiSelectCreated = $("#" + idSelect).attr("multiselect-created");
            if (isMultiSelectCreated == "true")
                valor = propiedad == "valor" ? Helpers.MultiSelectHelper.getFirstSelectedValue(idSelect) : Helpers.MultiSelectHelper.getFirstSelectedText(idSelect);
            else
                valor = propiedad == "valor" ? $("#" + item.Id.format(id)).val() : $($("#" + item.Label.format(id)).children()[1]).html();

            if (propiedad == "valor" && isEmpty(valor))
                valor = Constants.Entities.DefaultId;

            return valor;
        }
    </script>

    <!--HTML-->
    <div id="content" style="margin:0 auto; width:90%;" >

        <!-- BOTONERA -->
        <div style="margin-top:20px; margin-bottom:20px;" ></div>
        <!-- Fin de [BOTONERA] -->
        
        <input id="hdnPayRollDirectory" type="hidden" runat="server" />

        <!-- ENCABEZADO -->
        <div id="pnlPlanilla_Encabezado" style="float:left; width:1125px" >
            <table id="tblPlanilla_Encabezado" border="1" width="100%" class="default sin-borde" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="25%" />
                    <col width="50%" />
                    <col width="25%" />
                </colgroup>
                <tr>
                    <td class="sin-borde" >
                        <img id="imgEntidad" src="Images/PlanillaDePago/CajaDeRuidos.jpg" alt="Imagen Estudio" />
                    </td>
                    <td align="center" class="sin-borde" >
                        <div style="width:90%" >
                            <table id="tblPlanilla_Encabezado_Filtro" border="1" width="100%" class="default sin-borde" >
                                <colgroup>
                                    <col width="30%" />
                                    <col width="70%" />
                                </colgroup>
                                <tr>
                                    <td class="indent" >
                                        <b><label id="lblPlanilla_Encabezado_Proyecto" >Proyecto:</label></b>
                                    </td>
                                    <td align="center" style="padding:0px !important;" >
                                        <select id="selPlanilla_Proyecto" multiple="true" runat="server" ></select>
                                    </td>
                                </tr>
                                <tr>
                                    <td class="indent" >
                                        <b><label id="lblPlanilla_Encabezado_Guion" >Guión:</label></b>
                                    </td>
                                    <td align="center" style="padding:0px !important;" >
                                        <select id="selPlanilla_Guion" multiple="true" runat="server" ></select>
                                    </td>
                                </tr>
                                <tr>
                                    <td class="indent" >
                                        <b><label id="lblPlanilla_Encabezado_MedioPago" >Medio de Pago:</label></b>
                                    </td>
                                    <td align="center" style="padding:0px !important;" >
                                        <select id="selPlanilla_MediosPago" multiple="true" runat="server"  ></select>
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </td>
                    <td class="sin-borde" >
                        <table id="tblPlanilla_Encabezado_Descrpcion" border="0" width="100%" class="default sin-borde" >
                            <tr>
                                <td>
                                    <label id="lblPlanilla_Encabezado_Linea1" >Planilla De Remuneraciones</label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label id="lblPlanilla_Encabezado_Linea2" >&nbsp;</label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label id="lblPlanilla_Encabezado_Linea3" >&nbsp;</label>
                                </td>
                            </tr>
                        </table> 
                    </td>
                </tr>
            </table>
        </div>

        <!-- DATOS EMPRESA -->
        <div id="pnlPlanilla_DatosEmpresa" style="float:left; width:1125px" >
            <table id="tblPlanilla_DatosEmpresa" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="12%" />
                    <col width="20%" />
                    <col width="23%" />
                    <col width="20%" />
                    <col width="12%" />
                    <col width="8%" />
                </colgroup>
                <!--
                <thead>
                    <tr>
                        <th colspan="6" >
                            &nbsp;
                        </th>
                    </tr>
                </thead>
                -->
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Razón Social</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_RazonSocial" type="text" class="txtValor" runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Apellido y Nombre del Responsable</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_DatosEmpresa_Responsable" type="text" class="txtValor" runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Nro. de CUIT</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_NroCuit" type="text" class="txtValor" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Domicilio Legal</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_DomicilioLegal" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Apellido y Nombre del Contacto</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_DatosEmpresa_Contacto" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Ingresos Brutos</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_IngresosBrutos" type="text" class="txtValor"  runat="server" />
                    </td>                
                </tr>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Domicilio Real</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_DomicilioReal" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Teléfono Fijo del Contacto</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_DatosEmpresa_ContactoTelefono" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" colspan="2" >
                        &nbsp;
                    </td>
                </tr>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Teléfono / Fax</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_Telefono" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Teléfono Móvil del Contacto</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_DatosEmpresa_ContactoMovil" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" colspan="2" >
                        &nbsp;
                    </td>
                </tr>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Email</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_DatosEmpresa_Email" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Email del Contacto</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_DatosEmpresa_ContactoEmail" type="text" class="txtValor"  runat="server" />
                    </td>
                    <td class="indent" colspan="2" >
                        &nbsp;
                    </td>
                </tr>
            </table>
        </div>    
            
        <!-- DATOS PROGRAMA -->
        <div id="pnlPlanilla_Programa" style="float:left; width:1125px" >
            <table id="tblPlanilla_Programa" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="5%" />
                    <col width="25%" />
                    <col width="5%" />
                    <col width="25%" />
                    <col width="5%" />
                    <col width="15%" />
                    <col width="5%" />
                    <col width="15%" />
                </colgroup>
                <thead>
                    <tr>
                        <th colspan="4" align="center" >
                            <label class="txtDescripcion" style="text-transform:uppercase" >Programa</label>
                        </th>
                        <th colspan="4" align="center" >
                            <label class="txtDescripcion" style="text-transform:uppercase" >Período Liquidado</label>
                        </th>
                    </tr>
                </thead>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Título</label>
                    </td>
                    <td align="center">
                        <input id="txtPlanilla_Programa_Titulo" type="text" value="" class="txtValor" runat="server" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Autor</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_Programa_Autor" type="text" value="" class="txtValor" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Desde:</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_PeriodoLiquidado_FechaDesde" type="text" value="" class="txtValor" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Hasta</label>
                    </td>
                    <td align="center" >
                        <input id="txtPlanilla_PeriodoLiquidado_FechaHasta" type="text" value="" class="txtValor" />
                    </td>
                </tr>
            </table>        
        </div>

        <!-- ITEMS -->
        <div id="pnlPlanilla_Items" style="float:left; width:1125px" >
            <table id="tblPlanilla_Items" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="4%"  /> <!-- Botón Agregar -->
                    <col width="12%" /> <!-- Tipo Doc. -->
                    <col width="12%" /> <!-- Nro. Doc. -->
                    <col width="27%" /> <!-- Nombre Artístico -->
                    <col width="8%"  /> <!-- Fecha Grabación -->
                    <col width="5%"  /> <!-- Capítulo -->
                    <col width="5%"  /> <!-- Contrato -->
                    <col width="26%"  /> <!-- Categoría -->
                </colgroup>
                <thead>
                    <tr>
                        <th>
                            <div id="btnPlanilla_AgregarItem" class="botonAccion" style="width:70px;" >
                                <img src="Images/16x16/agregar.png" alt="Agregar ítem" />
                                <label>Agregar</label>
                            </div>
                        </th>
                        <th>Tipo Doc.</th>
                        <th>Nro Doc.</th>
                        <th>Nombre Artístico</th>
                        <th>Fecha de Grabación</th>
                        <th>Capítulo</th>
	                    <th>Contrato</th>
                        <th>Categoría</th>
                    </tr>
                </thead>
                <tbody>
                    <asp:Repeater ID="rptPlanillaItems" runat="server" OnItemDataBound="rptPlanillaItems_ItemDataBound" >
                        <ItemTemplate>
                            <tr id='filaPlanilla_Item_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' idGuion="<%# DataBinder.Eval(Container, "DataItem.Guion.Id" ) %>"  idPago="<%# DataBinder.Eval(Container, "DataItem.Id" ) %>" class="filaPlanilla_Item" >
                                <td align="center" >
                                    <div id='btnPlanilla_Item_Eliminar_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' class="botonAccion btnPlanilla_Item_Eliminar" style="width:70px;" ><img src="Images/16x16/remover.png" alt="Eliminar ítem" /><label>Eliminar</label></div>
                                </td>
                                <td align="center" >
                                    <button id='btnPlanilla_Item_TipoDocumento_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;" ><span class="ui-icon ui-icon-triangle-2-n-s"></span><span><%# ((Entidades.Pago)Container.DataItem).Proveedor.TipoDocumento != null ? ((Entidades.Pago)Container.DataItem).Proveedor.TipoDocumento.Nombre : "<span>Seleccione..</span>" %></span></button>
                                    <select id='selPlanilla_Item_TipoDocumento_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' multiple="multiple" style="display:none"  multiselect-created="false" ></select>
                                    <input id='hdnPlanilla_Item_TipoDocumento_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="hidden" value="<%# ((Entidades.Pago)Container.DataItem).Proveedor.TipoDocumento != null ? ((Entidades.Pago)Container.DataItem).Proveedor.TipoDocumento.Id : Common.WellKnownKeys.Entities.DEFAULT_ID %>" />
                                </td>
                                <td align="center" >
                                    <input id='txtPlanilla_Item_NroDocumento_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="text" value="<%# ((Entidades.Pago)Container.DataItem).Proveedor.NroDocumento %>" class="txtValor" />
                                </td>
                                <td align="center" >
                                    <button id='btnPlanilla_Item_Proveedor_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;"><span class="ui-icon ui-icon-triangle-2-n-s"></span><span><%# ((Entidades.Pago)Container.DataItem).Proveedor != null ? ((Entidades.Pago)Container.DataItem).Proveedor.Apellido + ", " + ((Entidades.Pago)Container.DataItem).Proveedor.Nombre : "<span>Seleccione..</span>" %></span></button>
                                    <select id='selPlanilla_Item_Proveedor_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' multiple="multiple" style="display:none"  multiselect-created="false" ></select>
                                    <input id='hdnPlanilla_Item_Proveedor_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="hidden" value="<%# ((Entidades.Pago)Container.DataItem).Proveedor.Id %>" />
                                </td>
                                <td align="center" >
                                    <input id='txtPlanilla_Item_FechaGrabacion_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="text" value="<%# ((Entidades.Pago)Container.DataItem).Fecha.ToShortDateString() %>" class="txtValor Fecha" />
                                </td>
                                <td align="center" >
                                    <input id='txtPlanilla_Item_Capitulo_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="text" value="<%# ((Entidades.Pago)Container.DataItem).Guion.Episodio %>" class="txtValor" />
                                </td>
                                <td align="center" >
                                    <input id='txtPlanilla_Item_Contrato_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="text" value="<%# ((Entidades.Pago)Container.DataItem).ImporteTotal %>" class="txtValor" />
                                </td>
                                <td align="center" >
                                    <button id='btnPlanilla_Item_Categoria_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 100%;" ><span class="ui-icon ui-icon-triangle-2-n-s"></span><span><%# ((Entidades.Pago)Container.DataItem).ProveedorRol != null ? ((Entidades.Pago)Container.DataItem).ProveedorRol.Nombre : "<span>Seleccione..</span>" %></span></button>
                                    <select id='selPlanilla_Item_Categoria_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' multiple="multiple" style="display:none"  multiselect-created="false" ></select>
                                    <input id='hdnPlanilla_Item_Categoria_<%# DataBinder.Eval(Container, "ItemIndex", "") %>' type="hidden" value="<%# ((Entidades.Pago)Container.DataItem).ProveedorRol != null ? ((Entidades.Pago)Container.DataItem).ProveedorRol.Id : Common.WellKnownKeys.Entities.DEFAULT_ID %>" />
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </tbody>                
            </table>
        </div>

        <!-- COMENTARIOS -->
        <div id="pnlPlanilla_Comentarios" style="float:left; width:1125px" >
            <table id="tblPlanilla_Comentarios" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="50%" />
                    <col width="50%" />
                </colgroup>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Detalle de otros</label>
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Observaciones</label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <textarea id="txtPlanilla_Comentarios_DetallesOtros" class="txtValor" cols="1" rows="2" ></textarea>
                    </td>
                    <td>
                        <textarea id="txtPlanilla_Comentarios_Observaciones" class="txtValor" cols="1" rows="2" ></textarea>
                    </td>
                </tr>
            </table>
        </div>

        <!-- TOTALES -->
        <div id="pnlPlanilla_Totales" style="float:left; width:1125px" >
            <table id="tblPlanilla_Totales" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="30%" />
                    <col width="10%" />
                    <col width="20%" />
                    <col width="10%" />
                    <col width="20%" />
                    <col width="10%" />
                </colgroup>
                <tr>
                    <td class="indent" >
                        <label class="txtDescripcion" >Total General Remuneraciones:</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_Total_GeneralRemuneraciones" type="text" value="0" class="txtValor" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Total Contribución OSA (6%):</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_Total_ContribucionOSA" type="text" value="0" class="txtValor" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Total Depósito:</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_Total_Deposito" type="text" value="0" class="txtValor deshabilitado" />
                    </td>
                </tr>
                <tr>
                    <td class="indent" colspan="2" >
                        &nbsp;
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Total Contribución Sindicato (3%):</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_Total_ContribucionSindicato" type="text" value="0" class="txtValor" />
                    </td>
                    <td class="indent" >
                        <label class="txtDescripcion" >Total Neto:</label>
                    </td>
                    <td>
                        <input id="txtPlanilla_Total_Neto" type="text" value="0" class="txtValor" />
                    </td>
                </tr>
            </table>
        </div>

        <!-- GENERACION DE PLANILLA -->
        <div id="pnlPlanilla" >
            <table id="tblPlanilla" border="1" width="100%" class="default" >
                <!--<caption></caption>-->
                <colgroup>
                    <col width="35%" />
                    <col width="30%" />
                    <col width="35%" />
                </colgroup>
                <tr>
                    <td colspan="3" align="center" >
                        <div id="btnGenerarPlanilla" class="boton" >
                            <img src="Images/pdf.png" alt="Generar Planilla" />
                            <label>Generar Planilla</label>
                        </div>
                    </td>
                </tr>
            </table>
        </div>
        
        <span style="display:none" >
            <select id="selPlanilla_TipoUsuario" multiple="false" runat="server" ></select> 
            <select id="selPlanilla_TipoDocumento" multiple="false" runat="server" ></select>
            <select id="selPlanilla_Usuario" multiple="false" runat="server" ></select>
        </span>
        
    </div>

</asp:Content>